import { defineStore } from 'pinia'
import type { PartialUser } from '@/types/user'

export const useUserStore = defineStore(
  'user',
  {
    // state
    state: () => ({ user: uni.getStorageSync('user') || {} }),
    // getters
    // actions
    actions: {
      setUser (user: PartialUser) {
        this.user = user

        uni.setStorageSync('user', user)
      }
    }
  }
  // 使用了option式api，然后使用 pinia-plugin-persistedstate 就不好使了，我们自己写即可
  //   {
  //     persist: {
  //       key: 'user',
  //       storage: {
  //         setItem (key, value) {
  //           console.log('---key---', key, value)
  //           uni.setStorageSync(key, value)
  //         },
  //         getItem (key) {
  //           return uni.getStorageSync(key)
  //         }
  //       }
  //     }
  //   }
)
